As an increasing number of applications and services are being made available over networks such as the Internet, an increasing number of content, application, and/or service providers are turning to technologies such as cloud computing. Cloud computing, in general, is an approach to providing access to electronic resources through services, such as Web services, where the hardware and/or software used to support those services is dynamically scalable to meet the needs of the services at any given time. A user or customer typically will rent, lease, or otherwise pay for access to resources through the cloud, and thus does not have to purchase and maintain the hardware and/or software needed.
In some cases, a user or service provider would like to know how much energy is consumed through usage of these resources. For many hardware devices, however, it can be difficult to obtain an accurate accounting of energy consumption. Further, there might be multiple users or entities sharing a resource, and it can be difficult to accurately apportion the energy consumption among the users based on their relative usage. Further still, a user has very little control over the power states or operational states of these resources and components, which can be frustrating or at least inconvenient for a user, particularly where there are regulations on energy consumption or the user gets credits for reducing consumption.